#ifndef starSystemhpp
#define starSystemhpp

#include "common.hpp"

class basePosition;

class starSystem
{
private:
	static int globalID;

public:
	std::vector< std::shared_ptr<basePosition> > childList;
	std::vector< std::shared_ptr<basePosition> > kickList;
	std::weak_ptr<starSystem> self;
	int localID;

	starSystem();

	void addChild( std::shared_ptr<basePosition> childPtr );

	void tick(int64_t timeStep);

	void flushState();

	void refreshDisp();

	void draw(sf::RenderWindow * window);
};
#endif // starSystemhpp
